#ifndef QUEUE_H_
#define QUEUE_H_

#include <stdio.h>
#include <stdlib.h>
 
struct queue_node {
	struct queue_node *next;    
	void* data;
};
 
struct queue {
	struct queue_node *first;
	struct queue_node *last;
};
 
void enqueue(struct queue *q, void* value);

void* dequeue(struct queue *q);

void init_queue(struct queue *q);

int queue_empty(struct queue *q);


#endif
